﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSP.Dao.IObjectDaos.CSP
{
    public interface ISearchInfoDao
    {
        /// <summary>
        /// 根据服务类型Id和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="serviceTypeId"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsByServiceTypeIdAndServiceIds(List<int> serviceTypeIds, List<int> serviceIds);

        /// <summary>
        /// 根据服务省份和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="serviceAreaId"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsByProvinceIdAndServiceIds(int province, List<int> serviceIds);

        /// <summary>
        /// 根据服务城市和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="serviceAreaId"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsByCityIdAndServiceIds(int city, List<int> serviceIds);

        /// <summary>
        /// 根据服务街道和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="serviceAreaId"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsByCountyIdAndServiceIds(int county, List<int> serviceIds);

        /// <summary>
        /// 根据开始年龄、结束年龄和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="startAge"></param>
        /// <param name="endAge"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsByStartAgeAndEndAgeAndServiceIds(int startAge, int endAge, List<int> serviceIds);

        /// <summary>
        /// 根据搜索结果和服务Ids找到新的服务ID(serviceIds 为空 表示查询所有)
        /// </summary>
        /// <param name="searchValue"></param>
        /// <param name="serviceIds"></param>
        /// <returns></returns>
        List<int> FindServiceIdsBySearchValueAndServiceIds(string searchValue, List<int> serviceIds);


    }
}
